import { getUrlQuery } from '@/utils'

const { channelCode, memberCode } = getUrlQuery()

// 动态导入所有配置文件
const modules = import.meta.glob('./*/*.ts', { eager: true })

// 从文件路径中提取渠道代码
function getChannelCode(path: string): string {
  const match = path.match(/\.\/(.+?)\/.*\.ts/)
  return match ? match[1] : ''
}

// 构建渠道配置映射
const channelConfigs: Record<string, any> = {}
for (const path in modules) {
  const channelCode = getChannelCode(path)
  if (channelCode) {
    channelConfigs[channelCode] = (modules[path] as any).default
  }
}

/**
 * 获取指定渠道的配置
 * @param channelCode 渠道代码 (如 'PAYX001', 'JDF001')
 * @returns 对应渠道的配置对象
 */
export function getSetting(): any {
  // 返回对应渠道的配置，如果没找到则返回默认配置
  return {
    ...channelConfigs[channelCode],
    channelCode,
    memberCode,
  }
}

// 导出所有渠道配置，以便需要时使用
export const configs = channelConfigs
